#define _CRT_SECURE_NO_WARNINGS 1
#pragma once
#include <stdbool.h>
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

typedef int STDatatype;
typedef struct Stack
{
	STDatatype* a;
	int capacity;
	int top;
}ST;

void StackInit(ST* ps);
void StackDestroy(ST* ps);
void StackPush(ST* ps, STDatatype* x);
void StackPop(ST* ps);
bool StackEmpty(ST* ps);
STDatatype StackTop(ST* ps);

int StackSize(ST* ps);



typedef struct ListNode {
	int val;
	struct ListNode* next;
}SL; 

SL* partition(SL* pHead, int x);

void STInit(SL* pHead);


